import ChiVoxSDK from 'chivox';
import Config from './config';

import $ from 'jquery';
import '../css/chivox-example.css';

let data = "past|pet|paste|pass";

let sdk = new ChiVoxSDK({
    appKey: Config.appKey,
    //mode: ChiVoxSDK.MODE.FLASH,
    sigurl: "/token",
    data: {
      duration: 1500,
      audioUrl: "",
      serverParams: {
        coreType: "en.sent.rec",
        refText: data,
        res: "eng.rec.g4",
        userId: "chivox tester",
      }
    },

    onInit: (errno, err) => {
        console.info('[ onInit ]:', errno, err);
    },

    onError: (err) => {
        console.info('[ onError ]:', err);
    },

    onBeforeRecord: () => {
      $("#scoreResult .rec").empty();
      $("#scoreResult .conf").empty();
    },

    onBeforeScore: () => {
      $("#scoreResult .rec").html('<span class="waiting">正在识别，请稍候...</span>');
    },

    onScore: (data) => {
      var resultObj = new ChiVoxSDK.EnSentRec(data);

      if (resultObj.hasError()) {
        var errorObj = ChiVoxSDK.StatusCode.get(resultObj.getErrorCode(), "cn");
        $("#scoreResult .rec").html('<span class="error">' + errorObj.feedback + '</span>');
      } else {
        $("#scoreResult .rec").html(resultObj.getRec());
        $("#scoreResult .conf").html(resultObj.getConf());
      }
    },

    onScoreError: (errorType) => {//评分失败的显示 "TIMEOUT", "NO_DATA", ErrorID
      var errorObj = ChiVoxSDK.StatusCode.get(errorType, "cn");
      $("#scoreResult .rec").html('<span class="error">' + errorObj.feedback + '</span>');
    }
});

$('#info').text(`ChiVoxSDK ver: ${ChiVoxSDK.VERSION}, mode: ${ChiVoxSDK.mode(sdk.options.mode)}`);
